<?php
declare (strict_types = 1);

namespace app\api\validate;

use think\Validate;
use think\facade\Request;
use app\api\exception\ParameterException;
use think\exception\ValidateException;

/**
 * 编写自定义验证器，可以扩展TP6验证库，主要存放公用的验证方法，方便调用
 */
class BaseValidate extends Validate
{

    /**
     * 进行请求参数校验
     */
    public function paramCheck()
    {
        $params  = Request::param();
        $result  = $this->batch()->check($params);
        if (!$result) {
            throw new ValidateException($this->error);
        } else {
            return true;
        }
    }

    /**
     * 判断是否是正整数
     */
    protected function isPositiveInteger($value, $rule = '', $data = [])
    {
        $pattern = '/^[1-9]\d*$/';
        return preg_match($pattern,(string)$value) ? true : false;
    }
}
